FRED API Analysis

import os
from dotenv import load_dotenv, dotenv_values
import psycopg2
import polars as pl
import plotly.graph_objects as go
import plotly.io as pio
pio.renderers.default = 'notebook'  # Use 'notebook', 'browser', or 'colab' if necessary
from datetime import datetime, date, time, timedelta

FRED API Data Retrieval and Analysis

Import Series data

import os
from dotenv import load_dotenv
from fredapi import Fred

# Load API key from .env
load_dotenv()
fred = Fred(api_key=os.getenv("FRED_API_KEY"))

# List of series IDs
series_ids = [
    "UNRATE", "CIVPART", "PAYEMS"
]

# Download data
data = {sid: fred.get_series(sid) for sid in series_ids}

# Example: print first few rows of unemployment rate
data["UNRATE"].head()
1948-01-01    3.4
1948-02-01    3.8
1948-03-01    4.0
1948-04-01    3.9
1948-05-01    3.5
dtype: float64
import plotly.graph_objects as go

# plot UNRATE
fig = go.Figure()
fig.add_trace(go.Scatter(x=data["UNRATE"].index, y=data["UNRATE"], mode='lines', name='Unemployment Rate'))
fig.update_layout(title='Unemployment Rate Over Time', xaxis_title='Date', yaxis_title='Unemployment Rate (%)')
fig.show()